To capture video with accurate frame rates, you should make the following adjustments to your system and hardware configurations. The following primarily applies to the "low end" video capture cards like Apple's built in AV or XClaim VR, but should be applicable to other AV cards (Targa, Miro etc.).
By Accurate frame rates, I mean that you can get almost no variation between the frame rate you want to get and what your hardware is capable of achieving. Many Video Capture applications will show throughput of video as being 30 frames per second, but if you look at the variation of individual video frames, you'll see that some frames are at 15 fps and others are at 60 fps, which will average out to 30 fps. The following "guide" will describe how to squeeze the best performance out of your hardware and prevent you from making video frame rate choices that are unrealistic.
Required Hardware
1) A fast PowerMac (150+ mhz) with 32+ free megs of Ram and an AV card.
2) Good quality cables Plugged into the Appropriate RCA / S-VSH Video and RCA/MiniPlug Sound ports.
3) A clean (empty) hard drive or partion on a hard drive with NO FILES on it. Erasing the partion/drive before capturing is usally the best method (select the partions / drive on the desktop, Select Special and then select Erase…). Do not use OS 8.1's HFS+ formatted partions/drives for capture, as there is enough additional overhead in HFS+ to reduce the capture rate by about 100 to 300 K/sec.
4) Another hard drive or partion that you save the movie clips too, rather than filling up the Empty drive we mentioned in 2. Trying to capture to a drive that is fragmented with other files will most likely result in poor performance.
Most "stock" apple scsi drives will be able to capture 15 fps video at 320x240 Component Video to disk (which is about 2250 K/sec). Fast SCSI 2 drives (with the built in internal fast scsi 2 in the 7300, 8500, 8600, 9500,9600 macs) or Fast Wide SCSI 2 / UltraScsi drives with an appropriate PCI Ultra card will allow you to grab 30 fps video at 320x240 Component Video to disk (which is 4500 K/sec). To capture at 640 x480 30 fps your going to need a raid hard drive system and a really fast Ultra Scsii card to keep up with the transfer rates (18000 K/Sec) or a video capture card that can compress the video data in real time and get it down to under 5 megs per second.
Software/System Configurations
1) Quicktime 2.5 or 3.0. We recomend using Quicktime 3.0 or you can not capture audio to ram and video to disk due to a bug in Quicktime 2.5.
2) Set the Disk Cache in the Memory Control pannel as low as it will go (even under OS 8.1's new disk cache scheme - it may hurt capture rates especially on slower <150 mhz macs) and turn off Virtual Memory (VM is a definite frame killer).
3) Turn off AppleTalk in the Chooser - it may hurt capture performance if it's active.
4) Remove all non essential extensions and control panels, especially on slower macs (<150 mhz) The essential ones will be Quicktime and QuickTime Powerplug (soundmanager, SystemAV or °AppleVision if there in your system folder), extension for your video card (like ATI Video Digitzer or whatever). For OS 8.0 and 8.1 you need to leave the Appearance Extension in (or your mac will croak) and for OS 8.1 you also need the Text Encoding Converter (for HFS+ formatted drives). Although you can use the Apple's EM extension to create sets for this, some extensions can not be turned off by it, so I usually create 2 folders (offextensions and Offcontrols) and then drag them into the folders manually (color coding your essential extensions by label makes it much easier to select the non essentials).
Note: You may not NEED to turn off all the extensions just to capture video (except for Virtual memory) if you have a fast mac. On my PowerMac 7300/200 using OS8.1 and QT3 and recording to a fast scsi 2 internal hard drive, I'm getting the same capture rate to disk with all my normal extensions on versus with only the bare essential extensions on. For extended recording (>30 seconds), I did find that I started to drop frames more frequently if the Memory Control panel Disk cache was not at it's lowest value or some extension that is time critical was turned on (like auto answer for a fax modem etc.).
5) Power up all hard drives your going to use for capture now and then Re-Start your Mac.
4a) If your using Quicktime 3.0, do the following. Select the Digitizer menu. Next check mark the "Record to Ram" item, then checkmark the "Show Megs Left" item and select Size of the movie you want (ie like "320 x 240"). Make sure that "Use Temp Mem" is unchecked, as were capturing to the Ram inside MyVidcao, not the Ram outside of it.
4b) If your using Quicktime 2.5, do the following. Select the Digitizer menu. Checkmark the "Show Megs Left" item and select Size of the movie you want (ie like "320 x 240"). There is a bug in QuickTime 2.5 with splitting audio - video recordings to different hard drives and recording audio to ram, which will result in a crash.
5) From the Digitizer menu select "Video Settings…". Use the Video Digitizer dialog to setup your different parameters (Image, Compression and Source in the Pop up menu). For Compression, select the "Component Video" compressor and then from the Frame Rate entry field, click on the frame rate pop up and select "Best" (we'll change this later on). For Source, select the Digitizer, Input (Composite - SVideo - Tuner etc.) and Format (NTSC -PAL) settings. Click Okay once your done.
6) From the Digitizer menu select "Audio Settings…". In the Audio Settings dialog go through the options using the pop up menu to set the Compression (none), Sample (16/8 bit size, Mono/Stereo and rate) and Source (Built In & Sound In). For Audio Sample, you should probably use 16 bit, 44.1 or 22.05 and mono settings. Click Okay once your done.
7) From the Digitizer menu select "Preferences…". Once the Recording Prefs dialog appears, you should check mark "Post Compress with MJPEG", "Fast Mode" and "Auto Set Snd Chunk Size". Next click on the "Select 1st Capture Location" button and select the empty hard drive/partion your capturing your video too.
If your using Quicktime 2.5 or earlier, skip this next bit. There is a serious bug in Quicktime 2.5 with recording Audio to Ram and to a separate drive/folder and we no longer allow you to do this. Now click on the "Select Audio Location…" button and select a hard drive to capture your audio too (this drive can be another hard drive/partion or the same one your using for capturing your video). Make sure the "Save Audio To" Check box beneath the "Select Audio Location…" button is check marked. Click Okay to save your preferences.
NOTE: The Above recording options are a special situation to minimize the effect that audio recording has during video capture and mainly apply to video cards without real time hardware compression. If you have choosen a hard drive/partion for recording audio too in the Recording Prefs, have check marked the "Record to Ram" item in the Digitizer Menu and are using Quicktime 3, then MyVidCap will record the Video to your hard drive and the Audio to Ram. This special situation allows you to maximize the video capture throughput of your hard drive and reduce interference of audio capture to disk. On the negative side, it will somewhat limit how long a sequence you can capture AV for, depending on how much ram you have available and your audio settings (rate, bit size, stereo / mono). The maximum recording can be calculated as
Max recording time = free ram in kilobytes ÷ (rate x (bit size ÷ 8) x Number of channels).
So with 50 megs of free ram and audio settings of 44.1 khz 16 bit mono sound .. you can record 580 seconds (580.5 = (50 x 1024) ÷ (44.1 * (16 ÷ 8) x 1))) or 9.7 minutes before you run out of ram.
Determining Maximum Frame Rate
Now were ready to do a preliminary test to see what your hard drive can actually do for sustained throughput. Turn on your VCR / TV source and then type "Command R" to begin recording. After about 10 to 40 seconds click the mouse button to stop recording. Once the Movie window appear with your captured video, type Command I (or select Movie Info… from the Movie menu).
In the "Info" window look for the "Data Rate (k/s): XXXX.XXX" text within the "Video" part (Upper Left box). This Video Data Rate (VDR) is the maximum rate your hard drive can record video (VDR) at using Component Video compression. The maximum frame rate (MFR) you can achieve is calculated using :
MFR = (VDR x 1024) ÷ (movie width x movie height x 2)
So if you VDR rate is 2620 k/s and the video window size your recording at is 320x240 size (with Component Video), the MFR you can achieve is about
17.47 = (2620x1024) ÷ (320x240x2).
So 17 is the absolute maximum Frame Rate you should use your in the Video Settings… Compressor dialog.
If the MFR value is under 25, we recomend dropping the frame rate by 1 or 2 fps (like 15 or the next closest whole number) to prevent possible frame drop outs for extended recording sessions (hard drives do get slightly slower as you record on the outside tracks). Also if your digitzing at smaller sizes window size, you can re-calculate what the MFR will be and probably get a bit more fps.
If the value comes out very close 30 fps and your using a fast scsi 2 or ultra scsi drive, you can probably just use 30 fps or "Best" for Frame Rate.
Now that you know the MFR your hardware can achieve, select the Digitizer Menu, select the Video Settings… item, and in the dialog click on the Compressor pop up menu and fill in an appropriate Frame rate value.
Maximum Frame Rate Caveats - What to expect
You may not be able to capture video at precisely 30 fps unless your using a fast wide SCSI 2 / UltraSCSI hard drive and PCI SCSI card, but you may be able to get close enough that it doesn't really matter. Here's why.
In my own situation, I have a 4.3 gig barracuda fast scsi 2 drive, connected to the fast scsi 2 internal bus in my 7300/200. My own and other benchmarks tests show the drive can write 150 K "blocks" of information to disk at 6000 K/sec. 150 K is the size of one 320x240 component YUV video frame, so in theory, I should be able to capture at a rate of about 40 fps (6000/150).
However, we have a bottleneck in that the video digitizing card must wait for the video to appear every 1/30th of a second (every 0.0333 seconds) before it can actually grab a video frame. So in this 0.0333 seconds time between the current captured frame and the next frame appearing, the video digitizer has to convert a signal into bits, compress those bits and then have them saved to disk. Additionally the sound manager must also record the sound signal, convert it to bits and store that information, and both operations must take place at the same time.
The saving of the 150K video frame to disk does take time to complete, which works out to at least 0.025 seconds (150/6000). This leaves the digitzer preciesly 0.008 seconds (8 milliseconds) to get set up for the arrival of the next video frame. So even the slightest delay (thermal re-calibration of the drive, disk fragmentation, buffer caches filling up, scsi overhead etc.) in getting this information to disk will result in possibly missing the next video frame. If we throw the capture of audio to disk into the mix, you can be see that the frame rate will definetly become more erratic and this is the main reason we suggest you capture audio to Ram and allow your hard drive to be only used for capturing video.
In actual fact, I get an average frame rate of 29.997 frames per second (using best frame rate and Component Video with the ATI XClaim VR card), but 40% of the video frames are lower than 30 fps (minimum 24 fps), 40% are higher than 30 fps (maximum 40 fps) and 20% are 30 fps. This seems like a huge difference 24 to 40 fps, but if you look at it from a slightly different perspective (duration of each frame versus frames per second), you'll see that it may not be as bad as it seems.A frame that is 40 fps has a duration of 0.025 seconds (0.00833 shorter than our ideal) and a frame that is at 24 fps has a duration of 0.04167 seconds (0.00833 longer than our idea).
In any case, the bottom line is this. If your happy with the video your getting, then don't worry about how accurate it is in an absolute sense.